package net.siufung.mybatis.annotation;

import net.siufung.core.model.enums.DataScopeEnum;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 数据权限定义
 * @author 陈建峰
 * @since 2022/7/25 5:00 下午
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface DataPermit {

    /**
     * 资源编号
     */
    String code() default "";

    /**
     * 数据权限对应字段
     */
    String column() default "created_dept";

    /**
     * 数据权限规则
     */
    DataScopeEnum type() default DataScopeEnum.ALL;

    /**
     * 可见字段
     */
    String field() default "*";

    /**
     * 数据权限规则值域
     */
    String value() default "";

}
